package com.xinnet.mms.notice.service;

import java.sql.SQLException;
import java.util.List;

import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Service;

import com.xinnet.core.utils.page.PageView;
import com.xinnet.mms.entity.Notice;

@Service
public interface NoticeService {
	/**
	 * 
	 * 功能描述：添加消息
	 *
	 * @param notice
	 * @throws SQLException
	 *
	 * @author 王湛智[wangzhanzhi@xinnet.com]
	 *
	 * @since 2014年2月8日
	 *
	 * @update:[变更日期YYYY-MM-DD][更改人姓名][变更描述]
	 */
	public void addMessage(Notice notice) throws SQLException;
	/**
	 * 
	 * 功能描述：查询消息记录
	 *
	 * @param pageView
	 * @return
	 * @throws SQLException
	 *
	 * @author 王湛智[wangzhanzhi@xinnet.com]
	 *
	 * @since 2014年2月8日
	 *
	 * @update:[变更日期YYYY-MM-DD][更改人姓名][变更描述]
	 */
	public PageView<Notice> queryMessage(PageView<Notice> pageView) throws SQLException;
	/**
	 * 
	 * 功能描述：通过ID获取消息详情
	 *
	 * @param id
	 * @return
	 * @throws SQLException
	 *
	 * @author 王湛智[wangzhanzhi@xinnet.com]
	 *
	 * @since 2014年2月8日
	 *
	 * @update:[变更日期YYYY-MM-DD][更改人姓名][变更描述]
	 */
	public Notice getMessageById(@Param(value="id") String id) throws SQLException;
	/**
	 * 
	 * 功能描述：通过ID修改消息内容
	 *
	 * @param id
	 * @param content
	 * @throws SQLException
	 *
	 * @author 王湛智[wangzhanzhi@xinnet.com]
	 *
	 * @since 2014年2月8日
	 *
	 * @update:[变更日期YYYY-MM-DD][更改人姓名][变更描述]
	 */
	public void updateMessageById(Notice notice) throws SQLException;
	/**
	 * 
	 * 功能描述：通过ID删除消息
	 *
	 * @param id
	 * @throws SQLException
	 *
	 * @author 王湛智[wangzhanzhi@xinnet.com]
	 *
	 * @since 2014年2月8日
	 *
	 * @update:[变更日期YYYY-MM-DD][更改人姓名][变更描述]
	 */
	public void delMessageById(@Param(value="id") String id) throws SQLException;
	/**
	 * 
	 * 功能描述：标题名模糊查询消息
	 *
	 * @param title
	 * @return
	 * @throws SQLException
	 *
	 * @author 王湛智[wangzhanzhi@xinnet.com]
	 *
	 * @since 2014年2月17日
	 *
	 * @update:[变更日期YYYY-MM-DD][更改人姓名][变更描述]
	 */
	public PageView<Notice> queryMsgByTitle(PageView<Notice> pageView,Notice notice) throws SQLException;
	/**
	 * 
	 * 功能描述：获取政策公告列表
	 *
	 * @param pageView
	 * @return
	 * @throws SQLException
	 *
	 * @author 王湛智[wangzhanzhi@xinnet.com]
	 *
	 * @since 2014年2月18日
	 *
	 * @update:[变更日期YYYY-MM-DD][更改人姓名][变更描述]
	 */
	public PageView<Notice> queryPolicy(PageView<Notice> pageView) throws SQLException;
	/**
	 * 
	 * 功能描述：带查询条件获取政策公告列表
	 *
	 * @param pageView
	 * @param notice
	 * @return
	 * @throws SQLException
	 *
	 * @author 王湛智[wangzhanzhi@xinnet.com]
	 *
	 * @since 2014年2月18日
	 *
	 * @update:[变更日期YYYY-MM-DD][更改人姓名][变更描述]
	 */
	public PageView<Notice> queryPolicy(PageView<Notice> pageView,Notice notice) throws SQLException;
	/**
	 * 
	 * 功能描述：通过ID获取公告详情
	 *
	 * @param id
	 * @return
	 * @throws SQLException
	 *
	 * @author 王湛智[wangzhanzhi@xinnet.com]
	 *
	 * @since 2014年2月8日
	 *
	 * @update:[变更日期YYYY-MM-DD][更改人姓名][变更描述]
	 */
	public Notice getPolicyById(@Param(value="id") String id) throws SQLException;
	/**
	 * 
	 * 功能描述：通过ID删除公告
	 *
	 * @param id
	 * @throws SQLException
	 *
	 * @author 王湛智[wangzhanzhi@xinnet.com]
	 *
	 * @since 2014年2月8日
	 *
	 * @update:[变更日期YYYY-MM-DD][更改人姓名][变更描述]
	 */
	public void delPolicyById(@Param(value="id") String id) throws SQLException;
	/**
	 * 
	 * 功能描述：通过ID修改公告内容
	 *
	 * @param id
	 * @param content
	 * @throws SQLException
	 *
	 * @author 王湛智[wangzhanzhi@xinnet.com]
	 *
	 * @since 2014年2月8日
	 *
	 * @update:[变更日期YYYY-MM-DD][更改人姓名][变更描述]
	 */
	public void updatePolicyById(Notice notice) throws SQLException;
	/**
	 * 
	 * 功能描述：添加公告
	 *
	 * @param notice
	 * @throws SQLException
	 *
	 * @author 王湛智[wangzhanzhi@xinnet.com]
	 *
	 * @since 2014年2月8日
	 *
	 * @update:[变更日期YYYY-MM-DD][更改人姓名][变更描述]
	 */
	public void addPolicy(Notice notice) throws SQLException;
	/**
	 * 
	 * 功能描述：查询六条政策公告
	 *
	 * @return
	 * @throws SQLException
	 *
	 * @author 王湛智[wangzhanzhi@xinnet.com]
	 *
	 * @since 2014年2月19日
	 *
	 * @update:[变更日期YYYY-MM-DD][更改人姓名][变更描述]
	 */
	public List<Notice> getPolicyInMain() throws SQLException;
	/**
	 * 
	 * 功能描述：查询六条动态消息
	 *
	 * @return
	 * @throws SQLException
	 *
	 * @author 王湛智[wangzhanzhi@xinnet.com]
	 *
	 * @since 2014年2月19日
	 *
	 * @update:[变更日期YYYY-MM-DD][更改人姓名][变更描述]
	 */
	public List<Notice> getMsgInMain() throws SQLException;
}
